Envie de réduire votre consommation d'énergie ? Et si vous arrêtiez d'utiliser Python, Ruby, Perl … ?

Comme le dit notre président Macron, c'est la fin de l'abondance, il faut faire des économies d'énergie de partout. Et l'informatique en entreprise fait partie de ces secteurs ou il sera certainement nécessaire d'en faire.

Ayant commencé à faire de la programmation dès mon plus jeune âge (et regrettant maintenant d'avoir fait un cursus en mécanique), j'ai toujours eu un attrait pour les langages de programmation (leur caractéristiques, leur vitesse, leur capacité à faciliter le développement, leurs différences entre eux…).

Je me suis demandé il y a quelques années si il existait des langages de programmation plus économes en énergie que d'autres et je suis tombé sur cet article traitant justement de la performance énergétique de différents langages de programmation:

Energy Efficiency across Programming Languages How Do Energy, Time, and Memory Relate?

Ci dessous le tableau récapitulatif des résultats:

!!! File Images/Energy Efficiency across Programming Languages - Table 4.png not found !!!

On trouve donc (pour les plus connus) des plus économes aux plus gourmands:

Et enfin:

Et en prenant en compte la vitesse d'exécution et la quantité de mémoire utilisée, on trouve (selon ce que l'on souhaite optimiser) un classement qui reste dans l'ensemble très similaire (même si des différences existent d'une combinaison à l'autre, c'est le cas par exemple pour Go, PHP et Fortran):

!!! File Images/Energy Efficiency across Programming Languages - Table 5.png not found !!!

  1. C/C++/Rust/Fortran/Go dominent le classement et sont les plus économes tout en étant rapides et peu consommateurs de mémoire.

  2. Java/OCaml/C#/Haskell forment un groupe intermédiaire. Moyennement consommateurs en énergie, avec une vitesse d'exécution plus lente et une consommation de mémoire un peu plus importante.

  3. PHP/Erlang/Ruby/Python/Javascript/Perl font clairement partie des langages les plus lents, les plus énergivores et avec une consommation de mémoire pouvant aller de moyenne à importante!

Conclusion

J'espère que ce petit récapitulatif vous aura donné un aperçu des performances énergétique (et d'exécution) de la plupart des langages de programmation existant et qu'il vous aidera a faire votre choix si vous devez démarrer un projet, conseiller un client, et peut être vous aidera t'il a remettre en cause vos croyances sur certains de ces langages.


Notes

1.

On peut parler aussi ces entreprises qui font sous-traiter la maintenance de leur code par des prestataires parce qu'ils ne veulent pas mettre les doigts dans leur propre 💩 !